"""
1: 找到文件,打开它！
    mode = "打开的模式"！ 读，写！ encoding="解码方式"！
    返回此文件对象！
    f = open("文件路径",mode="",encoding="")
    read() 读取文件里面的所有内容！并返回文件里面的内容！
    f.read()
    文件路径：
        1-绝对路径！   少！
        2-相对路径！
            同一目录可以直接找到！-直接写文件名(要加上扩展名！+后缀)！
            ../ 本目录父目录！返回上一个目录！

    mode:
        r : read! 读取模式！-从文件里读取东西！
        w : write!写入模式！-往文件里写东西！   清空写入！
        a : append 追加写入！ 原有内容不变！
        b : 读写的是非文本文件！ -视频，音频，图片！
    encoding:
        "编码方式"
        默认  ； gbk(windows)，utf-8(mac)

    非文本文件以字节的方式存储！不进行编码！不能给encoding!

with : 上下文！  as f 相当于  f = open()!  将文件对象赋值给f!
with  ... as f:    自动关闭链接,关闭文件！不用写f.close()!
    with open(..,..,..) as f:

修改文件：
    在源文件中读取内容！
    在内存中进行调整！
    把修改后的内容写入新文件！
    删除源文件，将新文件重命名为源文件！

"""
#导入os模块！ os - 和操作系统相关的模块！
import os
#time 和时间相关的模块！
import time

# f = open("file.txt","r",encoding="utf-8")
#f.read() 全部读取
# print(f.read())

#f.readline() 读取一行！ 读完往下走！
#文件里每一行最后有一个\n 代表换一次行！print()也会换一次行！导致换两次行！
# print(f.readline())

#s.strip()! 去除字符串左右两端的空白！(包括空格，换行，制表符！)
# print(f.readline().strip())
# print(f.readline().strip())

# #f.readlines() 读取每一行的内容-存到列表中！返回列表！
# content = f.readlines()
# print(content)


#最重要的读取方式！(循环文件对象！)
# for line in f:   #从f中一行一行的读！
#     print(line.strip())


#写入文件
#w模式下,文件不存在的情况下！自动创建一个指定名称的文件！
#w模式下！每一次open都会清空文件里的内容！
# f = open("file_1.txt","w",encoding="utf-8")
#f.write(写入的内容) 写入函数！
# f.write("LKL")
#每次操作之后！ f.close() 关闭链接！
# f.close()

# list = ["LKL",'BO',"张杰",'POP']
# file = open("file_2.txt","w",encoding="utf-8")
# for item in list:
#     file.write(item)
#     file.write("\n")
#
# file.close()


#读取图片
#在读写非文本文件时！在模式后边+b! rb,wb!
# with open("ML.jpg","rb") as f:
#     for line in f:
#         print(line.strip())


#文件的复制
#从源文件读取内容，写入到新路径中！ with 打开源文件对象,打开目标文件对象:   从源文件读，写入目标文件！
#with open(源文件) as f1, open(目标文件) as f2:
#一行太长的话!在结尾加一个\,代表没写完,要与下一行拼接！

# with open("ML.jpg","rb") as f1, \
#       open("MLs.jpg","wb") as f2:
#     for line in f1:
#         f2.write(line)

#文件修改
with open("file_2.txt",mode="r",encoding="utf-8") as f1,\
    open("file_2_副本.txt",mode="w",encoding="utf-8") as f2:
        for line in f1:
            line = line.strip()
            if line.startswith("张"):
                line = line.replace("张","王")

            f2.write(line)
            f2.write("\n")

#time.sleep(时间) 让程序睡眠指定时间 /s!
time.sleep(2)
#删除原文件！ 将副本文件名改为原文件名！
#os.remove("文件名") 删除原文件
os.remove("file_2.txt")
time.sleep(2)
#把副本文件重命名为原文件
#os.rename("原名字","新名字")
os.rename("file_2_副本.txt","file_2.txt")



